package com.demo.las.service;

import com.demo.las.entity.User;
import org.springframework.stereotype.Service;

import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

@Service
public class SessionService {
    
    // 简单的内存会话存储（生产环境建议使用Redis）
    private final Map<String, User> sessions = new ConcurrentHashMap<>();
    
    /**
     * 创建会话
     */
    public String createSession(User user) {
        String sessionId = generateSessionId();
        sessions.put(sessionId, user);
        return sessionId;
    }
    
    /**
     * 获取会话用户
     */
    public User getSessionUser(String sessionId) {
        return sessions.get(sessionId);
    }
    
    /**
     * 删除会话
     */
    public void removeSession(String sessionId) {
        sessions.remove(sessionId);
    }
    
    /**
     * 验证会话是否存在
     */
    public boolean isValidSession(String sessionId) {
        return sessions.containsKey(sessionId);
    }
    
    /**
     * 生成简单的会话ID
     */
    private String generateSessionId() {
        return "session_" + System.currentTimeMillis() + "_" + (int)(Math.random() * 1000);
    }
}


